<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // ES6 为数组中新增了 map 和 reduce 方法
        // map —— 接收一个函数，将数组中所有值用这个函数处理后返回
        let arr = [1, 20, 30];
        // arr = arr.map((item) => {
        //     return item*2;
        // })
        // 更简洁的写法
        arr = arr.map(item => item*2)
        console.log(arr)

        // reduce —— 为数组中每一个元素执行回调函数
        // 传入一个回调函数，我们这里里传入一个箭头函数为例子
        // 回调函数其参数为： 上一次处理后的值（调用回调函数返回的值）， 当前正常处理的值， 当前函数在数组中的索引， 调用 reduce 的数组
        let res = arr.reduce((a, b)=>{
            console.log("上一次处理后变为" + a);
            console.log("当前正在处理" + b)
            return a + b;
        }, 100) // 可以指定初始值

        console.log(res)
    </script>
</body>
</html>